package com.softeem.work;

import java.util.ArrayList;
import java.util.List;

/**
 * 自己使用泛型手搓一个container方法
 * 判断集合中是否有某一个指定的元素
 */
public class T1 {
    /**
     * 判断集合中是否有某一个指定的元素
     * @param list 我们要查询的集合
     * @param key 我们要找的元素
     * @param <T> 元素类型
     * @return
     */
    private static <T> boolean container(List<T> list,T key){
        //给定一个标识符,默认在集合中不包含这个元素
        boolean flag = false;
        //判断集合是否有元素,集合的长度是否不为0,判断集合是否为null
        //判断我们现在传入的参数是否存在
        if(list.size() > 0 && list != null && key != null){
            //对集合进行遍历,然后与我们传入的参数进行对比
            for(T obj : list){
                if(key.equals(obj) || key == obj){
                    flag = true;
                    break;
                }
            }
        }
        return flag;
    }

    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(22);
        list.add(2);
        list.add(3);
        list.add(4);
        boolean flag = container(list,5);
        System.out.println(flag);


        ArrayList<String> list1 = new ArrayList<String>();
        list1.add("中国");
        list1.add("美国");
        list1.add("俄罗斯");
        list1.add("英国");
        boolean flag1 = container(list1,"新西兰");
        System.out.println(flag1);
    }
}
